#pragma once
#include <stdio.h>
#include <assert.h>
#include <stdlib.h>

typedef  int  SLTDataType;

typedef struct SListNode
{
	SLTDataType Data;
	struct SListNode* Next;
} SLNode;




SLNode* CreadList(int n);

SLNode* BuySListNode(SLTDataType x);
void SlistPushBack(SLNode** PPhead, SLTDataType x);
void SlistPopBack(SLNode** PPhead);
void SlistPrint(SLNode* Phead);
void SListPushfront(SLNode** PPhead, SLTDataType x);
void SListPopfront(SLNode** PPhead);
SLNode* SLFind(SLNode* Phead, SLTDataType x);
void SLInsertAfter(SLNode** PPhead, SLTDataType x);
void SLInsertFrom(SLNode** PPhead, SLNode* Phead, SLTDataType x);
void SLEraseAfter(SLNode* Phead);
void SListDestroy(SLNode** PPhead);

